//package com.hourse.app.utils;
//
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.hourse.platform.exception.AppException;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Component;
//
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
///**
// * @使用描述: ExpressUtils
// */
//@Slf4j
//@Component
//public class ExpressUtils {
//
//
//  private static String ExpressURL = "";
//  private static String ExpressKEY = "";
//
//  @Value("${ExpressURL}")
//  public void setExpressURL(String expressURL) {
//    ExpressURL = expressURL;
//  }
//
//  @Value("${ExpressKEY}")
//  public void setExpressKEY(String expressKEY) {
//    ExpressKEY = expressKEY;
//  }
//
//
//  /**
//   * @功能描述: 【获取快递信息】
//   */
//  public static List ExpressInfo(String expressCode) throws Exception {
//
//      Map<String,String> headerMap = new HashMap<>();
//      headerMap.put("17token",ExpressKEY);
//
//      String url = ExpressURL + "/gettrackinfo";
//      String jsonData = HttpUtil.POST_JSON(url, headerMap, "[{\"number\":\"" + expressCode + "\"}]");
//      JSONObject jsonObject = JSONObject.parseObject(jsonData);
//      Integer status = jsonObject.getIntValue("code");
//      if (0 == status.intValue()) {
//
//        JSONArray rejectedArray = jsonObject.getJSONObject("data").getJSONArray("rejected");
//
//        if(rejectedArray.size() > 0){
//          String code = rejectedArray.getJSONObject(0).getJSONObject("error").getString("code");
//          String msg = rejectedArray.getJSONObject(0).getJSONObject("error").getString("message");
//
//          throw new AppException("查询失败:" + code + "-" + msg);
//        }
//
//        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("accepted");
//        if (jsonArray.size() > 0) {
//
//          JSONObject jsonInfo = jsonArray.getJSONObject(0).getJSONObject("track");
//
//          List listData = new ArrayList();
//          listData.addAll(jsonInfo.getJSONArray("z1"));
//          listData.addAll(jsonInfo.getJSONArray("z2"));
//          listData.addAll(jsonInfo.getJSONArray("z9"));
//
//          return listData;
//        }
//      }
//      throw new AppException("服务异常:" + status.intValue());
//    }
//
//  /**
//   * @功能描述: 【获取快递信息 -- 未解析错误 后续需要处理】
//   */
//  public static void ExpressRegister(String expressCode) throws Exception {
//
//    // todo 未解析错误 后续需要处理
//    Map<String,String> headerMap = new HashMap<>();
//    headerMap.put("17token",ExpressKEY);
//
//    String url = ExpressURL + "/register";
//    String jsonData = HttpUtil.POST_JSON(url, headerMap, "[{\"number\":\"" + expressCode + "\"}]");
//    JSONObject jsonObject = JSONObject.parseObject(jsonData);
//    Integer status = jsonObject.getIntValue("code");
//
//    if (0 != status.intValue()) {
//      throw new AppException("服务异常:" + status.intValue());
//    }
//
//    JSONArray rejectedArray = jsonObject.getJSONObject("data").getJSONArray("rejected");
//    if(rejectedArray.size() > 0){
//      String code = rejectedArray.getJSONObject(0).getJSONObject("error").getString("code");
//      String msg = rejectedArray.getJSONObject(0).getJSONObject("error").getString("message");
//      log.info("查询失败:" + code + "-" + msg);
//    }
//  }
//}
//
//
